#ifndef MAQUINA_TX_PC_H
#define MAQUINA_TX_PC_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <fcntl.h>
#include <errno.h>
#include <termios.h>
#include <unistd.h>
#include <inttypes.h>
#include "definiciones_hscar.h"

//************* DEFINICIONES DE FUNCIONES ***********************
uint32_t Crc32Fast(uint32_t Crc, uint32_t Data);
uint32_t CRC_CalcCRC(uint32_t data);
uint32_t CRC_CalcBlockCRC(uint32_t *data, uint32_t length);

int inicializarPuerto(char *port, uint32_t baudrate);
void leerUSB(int nbytes);
void escribirLoopBack(char *datos, uint32_t longitud);
void enviarACK();
void vaciaBufferLectura();
void enviarUSB();
boolean enviarStop();
boolean esperaACK();
uint32_t leerComandoLargo(char *datos);
uint32_t enviarLecturaBarras(char *datos);

#endif
